perm filename SYNSUB.FAI[PIX,HPM]1 blob
sn#276778 filedate 1977-04-16 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00015 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE SYNSUB
C00003 00003 HELPER: OUTSTR [ASCIZ \
C00007 00004 TYPEQ: OUTSTR [ASCIZ \
C00008 00005 NOCHAN:
C00009 00006 FILNM:
C00011 00007 COLON:
C00012 00008 FONTNO: POP P,RETAD
C00013 00009 FEWCHN:
C00014 00010 CRLF: OUTSTR [ASCIZ \
C00015 00011 FIRST: SKIPN FIRF
C00016 00012 FIRST1: SKIPN FIRF1
C00017 00013 FIRST2: SKIPN FIRF2
C00018 00014 FIRST3: SKIPN FIRF3
C00019 00015 END
C00020 ENDMK
C⊗;
TITLE SYNSUB
ENTRY HELPER,TYPEQ,NOCHAN,FEWCHN,FIRST1,FIRST2,FIRST3,FIRST,CRLF
ENTRY FILNM,COLON,FONTNO
P←17 ↔ A←1 ↔ B←2 C←3 ↔ D←4
RETAD: 0
RETAD1: 0
ESS: 0
SING: [ASCIZ \is\]
PLUR: [ASCIZ \s are\]
NUMOUT: POP P,RETAD1
POP P,A
MOVE C,[POINT 7,D]
SETZ D
MOVE 0,SING
CAIE A,1
MOVE 0,PLUR
MOVEM 0,ESS
DLOO: IDIVI A,=10
ADDI B,60
IDPB B,C
JUMPG A,DLOO
OUTSTR D
JRST @RETAD1
HELPER: OUTSTR [ASCIZ \
XGPSYN displays pages from .XGP files (as produced by PUB and POX), on the
video synthesizer. It can show half pages at high resolution, full pages
lying on their side at barely readable resolution, or two unreadable pages
side by side, with their large scale structure visible.
To use it give it your file name when it asks. The .XGP extension is
assumed, and need not be typed. Then tell it the density you want, H (1/2
page), F (1 page) or D (2 pages). Then give it page numbers. In H
density you may specify a non integer page, 3.5, for example, to see
bottom half of page 3. In F density specify the full page you wish to see.
In D density the page you give, and the next one, are displayed. Pages in
files with too few formfeeds may be accessed by appending a page count
after the ff count (eg. 2-5 is the fifth page after the ff indicating page
2). When the program types DONE, you may look at the output at data disc
terminals with <esc>47S. It usually helps to adjust brightness and
contrast.
Note that page 1 in .XGP files contains the font descriptions, and is not
interesting to display. You may also answer the page question with <cr> to
see the next window, H, F or D to change the density, V to redraw the last
display or K to erase the snthesizer.
The video synthesizer is a video rate D/A driven by data disc channels 30
through 37. H density requires 3 of these channels, F needs 4 and D wants
5. These are rarely available during heavy system load periods. About 10
CPU seconds are required to compose a single page.
Special modes: O outputs the last display as a hand/eye format picture file.
B density generates a 1 bit/sample uncompressed display of one page.
T density generates a sideways 1 bit/sample uncompressed display.
X sends the last display to the XGP, only sensible in B or T density.
\]
POPJ P,
TYPEQ: OUTSTR [ASCIZ \
Type ?<cr> for help
\]
POPJ P,
NOCHAN:
OUTSTR [ASCIZ \Right now there are no synthesizer channels available at all.
This program isn't worth running under those conditions.
\]
POPJ P,
FILNM:
OUTSTR [ASCIZ \FILE NAME\]
POPJ P,
COLON:
OUTSTR [ASCIZ \:\]
POPJ P,
FONTNO: POP P,RETAD
OUTSTR [ASCIZ \FONT#\]
PUSHJ P,NUMOUT
OUTSTR [ASCIZ \=\]
JRST @RETAD
FEWCHN:
POP P,RETAD
OUTSTR [ASCIZ \
Only \]
PUSHJ P,NUMOUT
OUTSTR [ASCIZ \ synthesizer channel\]
OUTSTR ESS
OUTSTR [ASCIZ \ available, you probably don't
want to continue. Image quality will be very poor.
\]
JRST @RETAD
CRLF: OUTSTR [ASCIZ \
\]
POPJ P,
FIRST: SKIPN FIRF
OUTSTR [ASCIZ \
(or H,F or D to change density,
or V to redraw display, or K to erase it,
or just <cr> for next window.)\]
AOS FIRF
POPJ P,
FIRF: 0
FIRST1: SKIPN FIRF1
OUTSTR [ASCIZ \
(eg. 3.5 for bottom of page 3 [or 2-1.5 in files without formfeeds])\]
AOS FIRF1
POPJ P,
FIRF1: 0
FIRST2: SKIPN FIRF2
OUTSTR [ASCIZ \ <esc>47S to view\]
AOS FIRF2
POPJ P,
FIRF2: 0
FIRST3: SKIPN FIRF3
OUTSTR [ASCIZ \(and optional switches)\]
AOS FIRF3
POPJ P,
FIRF3: 0
END